home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1993
/
Internet Info CD-ROM (Walnut Creek) (1993).iso
/
inet
/
internet-drafts
/
draft-ietf-822ext-md5-02.txt
< prev
next >
Wrap
Text File
|
1993-04-16
|
8KB
|
295 lines
draft Content-MD5 Header Field Apr 10
The Content-MD5 Header Field
Sat Apr 10 08:58:48 1993
Marshall T. Rose
Dover Beach Consulting, Inc.
mrose@dbc.mtview.ca.us
Status of this Memo
This document is an Internet Draft. Internet Drafts are
working documents of the Internet Engineering Task Force
(IETF), its Areas, and its Working Groups. Note that other
groups may also distribute working documents as Internet
Drafts.
Internet Drafts are valid for a maximum of six months and may
be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet Drafts as reference
material or to cite them other than as a "work in progress".
Abstract
This memo specifies an optional header field, Content-MD5, for
use with MIME-conformant messages.
Expires October 10, 1993 [Page 1]
draft Content-MD5 Header Field Apr 10
1. Introduction
Despite all of the mechanisms provided by MIME [1] which
attempt to protect data from being damaged in the course of
email transport, it is still desirable to have a mechanism for
verifying that the data, once decoded, are intact. For this
reason, this memo defines the use of an optional header field,
Content-MD5, which may be used as a message integrity check
(MIC), to verify that the decoded data are the same data that
were initially sent.
MD5 is an algorithm for computing a 128 bit "digest" of
arbitrary-length data, with a high degree of confidence that
any alterations in the data will be reflected in alterations
in the digest. The MD5 algorithm itself is defined in [2].
This memo specifies how the algorithm may be used as an
integrity check for MIME mail.
Expires October 10, 1993 [Page 2]
draft Content-MD5 Header Field Apr 10
2. Generation of the Content-MD5 Field
The Content-MD5 field is generated by only an originating user
agent. Message relays and gateways are expressly forbidden
from generating a Content-MD5 field.
Use of the Content-MD5 field is completely optional, but its
use is recommended whenever data integrity is desired, but
Privacy-Enhanced Mail services [3] are not available.
(Consult Section 4 for further details.) The Content-MD5 field
may only be added to MIME entities of a `leaf' nature, i.e.,
the Content-MD5 field may be used with any content type other
than multipart or message/rfc822.
To generate the value of the Content-MD5 field, the MD5
algorithm is computed on the canonical form of the data. In
particular, this means that the sender applies the MD5
algorithm on the raw data, before applying any content-
transfer-encoding, and that the receiver also applies the MD5
algorithm on the raw data, after undoing any content-
transfer-encoding. For textual data, the MD5 algorithm must
be computed on data in which the canonical form for newlines
applies, that is, in which each newline is represented by a
CR-LF pair.
The output of the MD5 algorithm is a 128 bit digest. When
viewed in network byte order (big-endian order), this yields a
sequence of 16 octets of binary data. These 16 octets are
then encoded according to the base64 algorithm in order to
obtain the value that is placed in the Content-MD5 field.
Thus, if the application of the MD5 algorithm over the raw
data of a MIME entity results in a digest having the
(unlikely) value of "Check Integrity!", then that MIME
entity's header could contain the field
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Finally, as discussed in Appendix B of [1], textual data is
regularly altered in the normal delivery of mail. Because the
addition or deletion of trailing white space will result in a
different digest, either the quoted-printable or base64
algorithm should be employed as a content-transfer-encoding
when the Content-MD5 field is used.
Expires October 10, 1993 [Page 3]
draft Content-MD5 Header Field Apr 10
3. Processing the Content-MD5 field
If the Content-MD5 field is present, a recipient user agent
may choose to use it to verify that the contents of a MIME
entity have not been modified during transport. Message
relays and gateways are expressly forbidden to alter its
processing based on the presence of the Content-MD5 field.
However, a message gateway is allowed to remove the Content-
MD5 field if the corresponding MIME entity is translated into
a different content-type.
4. Security Considerations
This document specifies a data integrity service that protects
data from accidental modification while in transit from the
sender to the recipient. A secure data integrity service,
such as that provided by Privacy Enhanced Mail [3], is
conjectured to protect data from all modifications.
5. Acknowledgements
This memo is based almost entirely on text originally written
by Nathaniel Borenstein of Bellcore. In addition, several
improvements were suggested by Keith Moore of the University
of Tennessee, Knoxville.
6. References
[1] N. Borenstein, N. Freed. MIME: Mechanisms for Specifying
and Describing the Format of Internet Message Bodies.
Request for Comments 1341, (June, 1992).
[2] R. Rivest, The MD5 Message-Digest Algorithm. Request for
Comments 1321, (April, 1992).
[3] J. Linn, Privacy Enhancement for Internet Electronic
Mail, Part I: Message Encryption and Authentication
Procedures. Request for Comments 1421, (February, 1993).
Expires October 10, 1993 [Page 4]
draft Content-MD5 Header Field Apr 10
Table of Contents
1 Introduction .......................................... 2
2 Generation of the Content-MD5 Field ................... 3
3 Processing the Content-MD5 field ...................... 4
4 Security Considerations ............................... 4
5 Acknowledgements ...................................... 4
6 References ............................................ 4
Expires October 10, 1993 [Page 5]